package com.study.map.service;

import com.study.map.dto.CoordConvertRequest;
import com.study.map.dto.CoordConvertResponse;
import com.study.map.exception.MapServiceException;

/**
 * 坐标转换服务接口
 *
 * @author study
 * @date 2025-08-31
 */
public interface ICoordConvertService {

    /**
     * 坐标转换：将非高德坐标转换为高德坐标
     *
     * @param request 坐标转换请求参数
     * @return 坐标转换结果
     * @throws MapServiceException 地图服务异常
     */
    CoordConvertResponse coordConvert(CoordConvertRequest request) throws MapServiceException;

    /**
     * 坐标转换：将非高德坐标转换为高德坐标
     *
     * @param locations 需要转换的坐标，经纬度间以","分隔，坐标间以";"分隔
     * @param coordsys 坐标系类型，可选值：gps, baidu, mapbar
     * @return 坐标转换结果
     * @throws MapServiceException 地图服务异常
     */
    CoordConvertResponse coordConvert(String locations, String coordsys) throws MapServiceException;
}